<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth Host Stack Library: Memory Management</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth Host Stack Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__wiced__mem.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Memory Management</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>Helper APIs to create heaps and pools and allocate/free buffers from those pools or heaps. </p>
<p>When a heap or a pool is created, this utility allocates required chunk of memory from the system and manages it for the creator. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__pool__statistics__t.html">wiced_bt_pool_statistics_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Bluetooth buffer pool statistics.  <a href="structwiced__bt__pool__statistics__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__heap__statistics__t.html">wiced_bt_heap_statistics_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Bluetooth heap statistics.  <a href="structwiced__bt__heap__statistics__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This queue is a general purpose buffer queue, for application use.  <a href="structwiced__bt__buffer__q__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga9ddff2d22209edda9d0193a2c81dacfc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga9ddff2d22209edda9d0193a2c81dacfc">WICED_DEFAULT_HEAP</a>&#160;&#160;&#160;((<a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *)NULL)</td></tr>
<tr class="memdesc:ga9ddff2d22209edda9d0193a2c81dacfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">If an application wants to get a buffer from the default heap, he can use this.  <a href="#ga9ddff2d22209edda9d0193a2c81dacfc">More...</a><br /></td></tr>
<tr class="separator:ga9ddff2d22209edda9d0193a2c81dacfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39d0dd9d7e6155ba49d6a76c079405b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga39d0dd9d7e6155ba49d6a76c079405b7">wiced_bt_get_buffer</a>(size)&#160;&#160;&#160;<a class="el" href="group__wiced__mem.html#gaf2a3683b317c42e9c264c5725179fe10">wiced_bt_get_buffer_from_heap</a>(<a class="el" href="group__wiced__mem.html#ga9ddff2d22209edda9d0193a2c81dacfc">WICED_DEFAULT_HEAP</a>, (size))</td></tr>
<tr class="memdesc:ga39d0dd9d7e6155ba49d6a76c079405b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a buffer from the <b> DEFAULT heap </b>.  <a href="#ga39d0dd9d7e6155ba49d6a76c079405b7">More...</a><br /></td></tr>
<tr class="separator:ga39d0dd9d7e6155ba49d6a76c079405b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga46491871adba51d8026e9fa85acbbaba"><td class="memItemLeft" align="right" valign="top"><a id="ga46491871adba51d8026e9fa85acbbaba"></a>
typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a></td></tr>
<tr class="memdesc:ga46491871adba51d8026e9fa85acbbaba"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Bluetooth Buffer. <br /></td></tr>
<tr class="separator:ga46491871adba51d8026e9fa85acbbaba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8eb99f9920449033af7323ed0eb8f69c"><td class="memItemLeft" align="right" valign="top"><a id="ga8eb99f9920449033af7323ed0eb8f69c"></a>
typedef struct t_wiced_bt_pool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a></td></tr>
<tr class="memdesc:ga8eb99f9920449033af7323ed0eb8f69c"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Bluetooth Pool. <br /></td></tr>
<tr class="separator:ga8eb99f9920449033af7323ed0eb8f69c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29951f8f099d15eb96c47cfbdf656c3c"><td class="memItemLeft" align="right" valign="top"><a id="ga29951f8f099d15eb96c47cfbdf656c3c"></a>
typedef struct t_wiced_bt_heap&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a></td></tr>
<tr class="memdesc:ga29951f8f099d15eb96c47cfbdf656c3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">AIROC Bluetooth Heap. <br /></td></tr>
<tr class="separator:ga29951f8f099d15eb96c47cfbdf656c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gae7ff550ebc3ec2693de3b360f1a1539f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gae7ff550ebc3ec2693de3b360f1a1539f">wiced_memory_get_free_bytes</a> (void)</td></tr>
<tr class="memdesc:gae7ff550ebc3ec2693de3b360f1a1539f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of free bytes of RAM available for allocation from the dynamic memory allocation of the Bluetooth Controller firmware.  <a href="#gae7ff550ebc3ec2693de3b360f1a1539f">More...</a><br /></td></tr>
<tr class="separator:gae7ff550ebc3ec2693de3b360f1a1539f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd087700ddd0362c48b52e9c6f66a059"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gabd087700ddd0362c48b52e9c6f66a059">wiced_bt_create_heap</a> (const char *name, void *p_area, int size, <a class="el" href="structwiced__bt__lock__t.html">wiced_bt_lock_t</a> *p_lock, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> b_make_default)</td></tr>
<tr class="memdesc:gabd087700ddd0362c48b52e9c6f66a059"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes dynamic memory area.  <a href="#gabd087700ddd0362c48b52e9c6f66a059">More...</a><br /></td></tr>
<tr class="separator:gabd087700ddd0362c48b52e9c6f66a059"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f37a61eaed4ad2c267d8b70af53bcfb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga0f37a61eaed4ad2c267d8b70af53bcfb">wiced_bt_delete_heap</a> (<a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *p_heap)</td></tr>
<tr class="memdesc:ga0f37a61eaed4ad2c267d8b70af53bcfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the heap created with <a class="el" href="group__wiced__mem.html#gabd087700ddd0362c48b52e9c6f66a059" title="Initializes dynamic memory area.">wiced_bt_create_heap</a>.  <a href="#ga0f37a61eaed4ad2c267d8b70af53bcfb">More...</a><br /></td></tr>
<tr class="separator:ga0f37a61eaed4ad2c267d8b70af53bcfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0382948eb39d8de2496e8cd11ee13ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gaa0382948eb39d8de2496e8cd11ee13ce">wiced_bt_create_pool</a> (const char *name, uint32_t buffer_size, uint32_t buffer_cnt, <a class="el" href="structwiced__bt__lock__t.html">wiced_bt_lock_t</a> *p_lock)</td></tr>
<tr class="memdesc:gaa0382948eb39d8de2496e8cd11ee13ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a buffer pool for application usage.  <a href="#gaa0382948eb39d8de2496e8cd11ee13ce">More...</a><br /></td></tr>
<tr class="separator:gaa0382948eb39d8de2496e8cd11ee13ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5180d91f266fbb45fb60ec66485b5c2e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga5180d91f266fbb45fb60ec66485b5c2e">wiced_bt_delete_pool</a> (<a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *p_pool)</td></tr>
<tr class="memdesc:ga5180d91f266fbb45fb60ec66485b5c2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes a buffer pool created using <a class="el" href="group__wiced__mem.html#gaa0382948eb39d8de2496e8cd11ee13ce" title="Creates a buffer pool for application usage.">wiced_bt_create_pool</a>.  <a href="#ga5180d91f266fbb45fb60ec66485b5c2e">More...</a><br /></td></tr>
<tr class="separator:ga5180d91f266fbb45fb60ec66485b5c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba17f78395b7d5d3be0a963fc64d8a82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gaba17f78395b7d5d3be0a963fc64d8a82">wiced_bt_get_buffer_from_pool</a> (<a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *p_pool)</td></tr>
<tr class="memdesc:gaba17f78395b7d5d3be0a963fc64d8a82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get buffer from requested pool.  <a href="#gaba17f78395b7d5d3be0a963fc64d8a82">More...</a><br /></td></tr>
<tr class="separator:gaba17f78395b7d5d3be0a963fc64d8a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2a3683b317c42e9c264c5725179fe10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gaf2a3683b317c42e9c264c5725179fe10">wiced_bt_get_buffer_from_heap</a> (<a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *p_heap, uint32_t size)</td></tr>
<tr class="memdesc:gaf2a3683b317c42e9c264c5725179fe10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a buffer from the requested heap.  <a href="#gaf2a3683b317c42e9c264c5725179fe10">More...</a><br /></td></tr>
<tr class="separator:gaf2a3683b317c42e9c264c5725179fe10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2d26815b0ed4aa9f7d72650d7c5b28f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gac2d26815b0ed4aa9f7d72650d7c5b28f">wiced_bt_get_pool_free_count</a> (<a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *p_pool)</td></tr>
<tr class="memdesc:gac2d26815b0ed4aa9f7d72650d7c5b28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">To get the number of buffers available in the pool.  <a href="#gac2d26815b0ed4aa9f7d72650d7c5b28f">More...</a><br /></td></tr>
<tr class="separator:gac2d26815b0ed4aa9f7d72650d7c5b28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f954d898c5466a865a47ab097f385e7"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga1f954d898c5466a865a47ab097f385e7">wiced_bt_get_largest_heap_buffer</a> (<a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *p_heap)</td></tr>
<tr class="memdesc:ga1f954d898c5466a865a47ab097f385e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">To get the size of the largest buffer available in the heap.  <a href="#ga1f954d898c5466a865a47ab097f385e7">More...</a><br /></td></tr>
<tr class="separator:ga1f954d898c5466a865a47ab097f385e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7910db6f2bb29ec6e6ddd8f943a182c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gaf7910db6f2bb29ec6e6ddd8f943a182c">wiced_bt_get_largest_stack_heap_buffer</a> (void)</td></tr>
<tr class="memdesc:gaf7910db6f2bb29ec6e6ddd8f943a182c"><td class="mdescLeft">&#160;</td><td class="mdescRight">To get the size of the largest buffer available in the stack heap.  <a href="#gaf7910db6f2bb29ec6e6ddd8f943a182c">More...</a><br /></td></tr>
<tr class="separator:gaf7910db6f2bb29ec6e6ddd8f943a182c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga652a40fcdb27f8fea2d125e82aef9750"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga652a40fcdb27f8fea2d125e82aef9750">wiced_bt_free_buffer</a> (<a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *p_buf)</td></tr>
<tr class="memdesc:ga652a40fcdb27f8fea2d125e82aef9750"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a buffer back to the pool or heap it came from.  <a href="#ga652a40fcdb27f8fea2d125e82aef9750">More...</a><br /></td></tr>
<tr class="separator:ga652a40fcdb27f8fea2d125e82aef9750"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d688277844f22111723e3339e725d8a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga5d688277844f22111723e3339e725d8a">wiced_bt_get_buffer_size</a> (<a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *p_buf)</td></tr>
<tr class="memdesc:ga5d688277844f22111723e3339e725d8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the buffer size.  <a href="#ga5d688277844f22111723e3339e725d8a">More...</a><br /></td></tr>
<tr class="separator:ga5d688277844f22111723e3339e725d8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62e721c9f6a3f49dd10e5633a6a280ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga62e721c9f6a3f49dd10e5633a6a280ad">wiced_bt_init_q</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q, <a class="el" href="structwiced__bt__lock__t.html">wiced_bt_lock_t</a> *p_lock)</td></tr>
<tr class="memdesc:ga62e721c9f6a3f49dd10e5633a6a280ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by an application to initialize a AIROC buffer queue.  <a href="#ga62e721c9f6a3f49dd10e5633a6a280ad">More...</a><br /></td></tr>
<tr class="separator:ga62e721c9f6a3f49dd10e5633a6a280ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3142e3e24bbbf661867d9abd49bf94cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga3142e3e24bbbf661867d9abd49bf94cd">wiced_bt_enqueue</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q, <a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *p_buf)</td></tr>
<tr class="memdesc:ga3142e3e24bbbf661867d9abd49bf94cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue a buffer at the tail of the queue.  <a href="#ga3142e3e24bbbf661867d9abd49bf94cd">More...</a><br /></td></tr>
<tr class="separator:ga3142e3e24bbbf661867d9abd49bf94cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a76bfa31cc060df2c279049036c71b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga3a76bfa31cc060df2c279049036c71b2">wiced_bt_enqueue_head</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q, <a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *p_buf)</td></tr>
<tr class="memdesc:ga3a76bfa31cc060df2c279049036c71b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue a buffer at the head of the queue.  <a href="#ga3a76bfa31cc060df2c279049036c71b2">More...</a><br /></td></tr>
<tr class="separator:ga3a76bfa31cc060df2c279049036c71b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b0787e7f01a5eabf0fda49461d4a0fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga1b0787e7f01a5eabf0fda49461d4a0fa">wiced_bt_dequeue</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q)</td></tr>
<tr class="memdesc:ga1b0787e7f01a5eabf0fda49461d4a0fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dequeues a buffer from the head of a queue.  <a href="#ga1b0787e7f01a5eabf0fda49461d4a0fa">More...</a><br /></td></tr>
<tr class="separator:ga1b0787e7f01a5eabf0fda49461d4a0fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf9a622ef54fe5731cec0a055923c96f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gabf9a622ef54fe5731cec0a055923c96f">wiced_bt_remove_from_queue</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q, <a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *p_buf)</td></tr>
<tr class="memdesc:gabf9a622ef54fe5731cec0a055923c96f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dequeue a buffer from the middle of the queue.  <a href="#gabf9a622ef54fe5731cec0a055923c96f">More...</a><br /></td></tr>
<tr class="separator:gabf9a622ef54fe5731cec0a055923c96f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d0f730da71f5eefc2ffb8c7047f02f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga3d0f730da71f5eefc2ffb8c7047f02f9">wiced_bt_getfirst</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q)</td></tr>
<tr class="memdesc:ga3d0f730da71f5eefc2ffb8c7047f02f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the first buffer in a queue.  <a href="#ga3d0f730da71f5eefc2ffb8c7047f02f9">More...</a><br /></td></tr>
<tr class="separator:ga3d0f730da71f5eefc2ffb8c7047f02f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0250fcacf935ca7fb2f0c802bc498316"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga0250fcacf935ca7fb2f0c802bc498316">wiced_bt_getlast</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q)</td></tr>
<tr class="memdesc:ga0250fcacf935ca7fb2f0c802bc498316"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the last buffer in a queue.  <a href="#ga0250fcacf935ca7fb2f0c802bc498316">More...</a><br /></td></tr>
<tr class="separator:ga0250fcacf935ca7fb2f0c802bc498316"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88ac7077880864d79dbc134e460a814c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga88ac7077880864d79dbc134e460a814c">wiced_bt_getnext</a> (<a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *p_buf)</td></tr>
<tr class="memdesc:ga88ac7077880864d79dbc134e460a814c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the next buffer in a queue.  <a href="#ga88ac7077880864d79dbc134e460a814c">More...</a><br /></td></tr>
<tr class="separator:ga88ac7077880864d79dbc134e460a814c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a53857937701bb4c7c1128ed3de8f8a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga3a53857937701bb4c7c1128ed3de8f8a">wiced_bt_queue_is_empty</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q)</td></tr>
<tr class="memdesc:ga3a53857937701bb4c7c1128ed3de8f8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the status of a queue.  <a href="#ga3a53857937701bb4c7c1128ed3de8f8a">More...</a><br /></td></tr>
<tr class="separator:ga3a53857937701bb4c7c1128ed3de8f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4490eaf46263868144322240d5553285"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga4490eaf46263868144322240d5553285">wiced_bt_queue_get_count</a> (<a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *p_q)</td></tr>
<tr class="memdesc:ga4490eaf46263868144322240d5553285"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of items in the queue.  <a href="#ga4490eaf46263868144322240d5553285">More...</a><br /></td></tr>
<tr class="separator:ga4490eaf46263868144322240d5553285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97f9f80721d4e711b6243992a9d1939b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga97f9f80721d4e711b6243992a9d1939b">wiced_memory_alloc_long_term_mem_block</a> (int size, const char *block_name)</td></tr>
<tr class="memdesc:ga97f9f80721d4e711b6243992a9d1939b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate long term memory, typically used for control blocks allocated through config, not expected to be freed during the lifetime of the application.  <a href="#ga97f9f80721d4e711b6243992a9d1939b">More...</a><br /></td></tr>
<tr class="separator:ga97f9f80721d4e711b6243992a9d1939b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84a646c738099e9e0b4f764c3b6596e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga84a646c738099e9e0b4f764c3b6596e9">wiced_memory_free_long_term_mem_block</a> (<a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *p_mem)</td></tr>
<tr class="memdesc:ga84a646c738099e9e0b4f764c3b6596e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free long term memory, used to free memory allocated with <a class="el" href="group__wiced__mem.html#ga97f9f80721d4e711b6243992a9d1939b">wiced_memory_alloc_long_term_mem_block</a>, typically called during application shutdown.  <a href="#ga84a646c738099e9e0b4f764c3b6596e9">More...</a><br /></td></tr>
<tr class="separator:ga84a646c738099e9e0b4f764c3b6596e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga781d441cbf87a58a121c92fb9132d9b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga781d441cbf87a58a121c92fb9132d9b1">wiced_bt_get_heap_statistics</a> (void *p_heap, <a class="el" href="structwiced__bt__heap__statistics__t.html">wiced_bt_heap_statistics_t</a> *p_stats)</td></tr>
<tr class="memdesc:ga781d441cbf87a58a121c92fb9132d9b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get heap stats.  <a href="#ga781d441cbf87a58a121c92fb9132d9b1">More...</a><br /></td></tr>
<tr class="separator:ga781d441cbf87a58a121c92fb9132d9b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadab993022a065bf698a2586ed8d6da25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gadab993022a065bf698a2586ed8d6da25">wiced_bt_get_heap_statistics_with_index</a> (int index, <a class="el" href="structwiced__bt__heap__statistics__t.html">wiced_bt_heap_statistics_t</a> *p_stats)</td></tr>
<tr class="memdesc:gadab993022a065bf698a2586ed8d6da25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get heap stats of heap at index.  <a href="#gadab993022a065bf698a2586ed8d6da25">More...</a><br /></td></tr>
<tr class="separator:gadab993022a065bf698a2586ed8d6da25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9408276a6611c7479ae21ca81e20ca1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#gaf9408276a6611c7479ae21ca81e20ca1">wiced_bt_get_pool_statistics</a> (<a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *p_pool, <a class="el" href="structwiced__bt__pool__statistics__t.html">wiced_bt_pool_statistics_t</a> *p_stats)</td></tr>
<tr class="memdesc:gaf9408276a6611c7479ae21ca81e20ca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pool stats.  <a href="#gaf9408276a6611c7479ae21ca81e20ca1">More...</a><br /></td></tr>
<tr class="separator:gaf9408276a6611c7479ae21ca81e20ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a5e60280610d3027effc84ee35654b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__mem.html#ga9a5e60280610d3027effc84ee35654b6">wiced_set_exception_callback</a> (<a class="el" href="group__gentypes.html#ga3485f1bcadb8362abc051922bd195a8d">pf_wiced_exception</a> pf_handler)</td></tr>
<tr class="memdesc:ga9a5e60280610d3027effc84ee35654b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the exception callback for stack, controller, and porting layer exceptions:  <a href="#ga9a5e60280610d3027effc84ee35654b6">More...</a><br /></td></tr>
<tr class="separator:ga9a5e60280610d3027effc84ee35654b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga9ddff2d22209edda9d0193a2c81dacfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ddff2d22209edda9d0193a2c81dacfc">&#9670;&nbsp;</a></span>WICED_DEFAULT_HEAP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WICED_DEFAULT_HEAP&#160;&#160;&#160;((<a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *)NULL)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If an application wants to get a buffer from the default heap, he can use this. </p>

</div>
</div>
<a id="ga39d0dd9d7e6155ba49d6a76c079405b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga39d0dd9d7e6155ba49d6a76c079405b7">&#9670;&nbsp;</a></span>wiced_bt_get_buffer</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define wiced_bt_get_buffer</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">size</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="group__wiced__mem.html#gaf2a3683b317c42e9c264c5725179fe10">wiced_bt_get_buffer_from_heap</a>(<a class="el" href="group__wiced__mem.html#ga9ddff2d22209edda9d0193a2c81dacfc">WICED_DEFAULT_HEAP</a>, (size))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates a buffer from the <b> DEFAULT heap </b>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>: size to be allocated</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the pointer to the buffer or NULL on failure </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gae7ff550ebc3ec2693de3b360f1a1539f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae7ff550ebc3ec2693de3b360f1a1539f">&#9670;&nbsp;</a></span>wiced_memory_get_free_bytes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t wiced_memory_get_free_bytes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the number of free bytes of RAM available for allocation from the dynamic memory allocation of the Bluetooth Controller firmware. </p>
<dl class="section note"><dt>Note</dt><dd>This API is valid only for embedded platforms where the application,stack and controller memory is allocated from a common dynamic memory area.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the number of free bytes of RAM left </dd></dl>

</div>
</div>
<a id="gabd087700ddd0362c48b52e9c6f66a059"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd087700ddd0362c48b52e9c6f66a059">&#9670;&nbsp;</a></span>wiced_bt_create_heap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a>* wiced_bt_create_heap </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_area</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__lock__t.html">wiced_bt_lock_t</a> *&#160;</td>
          <td class="paramname"><em>p_lock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td>
          <td class="paramname"><em>b_make_default</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes dynamic memory area. </p>
<p>Application reserves an area for dynamic variable memory allocations with this call. Application can now allocate variable sized buffers as against fixed sized buffer allocations from the pools initialized with calls to wiced_bt_create_pool and allocated using wiced_bt_get_buffer_from_pool.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>: Friendly name of the heap </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_area</td><td>: Pointer to area to use for the heap. If NULL, AIROC will allocate the area. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>: Size the area passed in. If no area passed in, this is the size of the heap desired. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_lock</td><td>: Pointers to lock functions to use during heap manipulation. If NULL, then it is assumed that the application handles disabling of preemption. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b_make_default</td><td>Flag as to whether the heap will be the default heap.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>wiced_bt_heap_t * - pointer to heap, or NULL if the heap creation failed. </dd></dl>

</div>
</div>
<a id="ga0f37a61eaed4ad2c267d8b70af53bcfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0f37a61eaed4ad2c267d8b70af53bcfb">&#9670;&nbsp;</a></span>wiced_bt_delete_heap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_delete_heap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *&#160;</td>
          <td class="paramname"><em>p_heap</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deletes the heap created with <a class="el" href="group__wiced__mem.html#gabd087700ddd0362c48b52e9c6f66a059" title="Initializes dynamic memory area.">wiced_bt_create_heap</a>. </p>
<p>The heap area is freed back to the platform in case the wiced_bt_create_heap was called with p_area set to NULL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_heap</td><td>: Heap created with <a class="el" href="group__wiced__mem.html#gabd087700ddd0362c48b52e9c6f66a059" title="Initializes dynamic memory area.">wiced_bt_create_heap</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gaa0382948eb39d8de2496e8cd11ee13ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa0382948eb39d8de2496e8cd11ee13ce">&#9670;&nbsp;</a></span>wiced_bt_create_pool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a>* wiced_bt_create_pool </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>buffer_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>buffer_cnt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__lock__t.html">wiced_bt_lock_t</a> *&#160;</td>
          <td class="paramname"><em>p_lock</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a buffer pool for application usage. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>: Friendly name of the heap </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_size</td><td>Size of the buffers in the pool </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_cnt</td><td>: Number of buffers in the pool </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_lock</td><td>: Pointers to lock functions to use during heap manipulation. If NULL, then it is assumed that the application handles disabling of preemption.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to the created pool on success, or NULL on failure </dd></dl>

</div>
</div>
<a id="ga5180d91f266fbb45fb60ec66485b5c2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5180d91f266fbb45fb60ec66485b5c2e">&#9670;&nbsp;</a></span>wiced_bt_delete_pool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_delete_pool </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *&#160;</td>
          <td class="paramname"><em>p_pool</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deletes a buffer pool created using <a class="el" href="group__wiced__mem.html#gaa0382948eb39d8de2496e8cd11ee13ce" title="Creates a buffer pool for application usage.">wiced_bt_create_pool</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_pool</td><td>: pointer of type <a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c" title="AIROC Bluetooth Pool.">wiced_bt_pool_t</a> returned through a call to <a class="el" href="group__wiced__mem.html#gaa0382948eb39d8de2496e8cd11ee13ce" title="Creates a buffer pool for application usage.">wiced_bt_create_pool</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gaba17f78395b7d5d3be0a963fc64d8a82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaba17f78395b7d5d3be0a963fc64d8a82">&#9670;&nbsp;</a></span>wiced_bt_get_buffer_from_pool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a>* wiced_bt_get_buffer_from_pool </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *&#160;</td>
          <td class="paramname"><em>p_pool</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get buffer from requested pool. </p>
<p>Allocates a buffer from the requested pool.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_pool</td><td>: pointer to pool from which to get the buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the pointer to the buffer or NULL on failure </dd></dl>

</div>
</div>
<a id="gaf2a3683b317c42e9c264c5725179fe10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf2a3683b317c42e9c264c5725179fe10">&#9670;&nbsp;</a></span>wiced_bt_get_buffer_from_heap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a>* wiced_bt_get_buffer_from_heap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *&#160;</td>
          <td class="paramname"><em>p_heap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates a buffer from the requested heap. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_heap</td><td>: pointer to heap from which to get the buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>: size to be allocated</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the pointer to the buffer or NULL on failure </dd></dl>

</div>
</div>
<a id="gac2d26815b0ed4aa9f7d72650d7c5b28f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac2d26815b0ed4aa9f7d72650d7c5b28f">&#9670;&nbsp;</a></span>wiced_bt_get_pool_free_count()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t wiced_bt_get_pool_free_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *&#160;</td>
          <td class="paramname"><em>p_pool</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>To get the number of buffers available in the pool. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_pool</td><td>: pool pointer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of buffers available in the pool </dd></dl>

</div>
</div>
<a id="ga1f954d898c5466a865a47ab097f385e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1f954d898c5466a865a47ab097f385e7">&#9670;&nbsp;</a></span>wiced_bt_get_largest_heap_buffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t wiced_bt_get_largest_heap_buffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga29951f8f099d15eb96c47cfbdf656c3c">wiced_bt_heap_t</a> *&#160;</td>
          <td class="paramname"><em>p_heap</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>To get the size of the largest buffer available in the heap. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_heap</td><td>: heap pointer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the largest buffer available in the heap </dd></dl>

</div>
</div>
<a id="gaf7910db6f2bb29ec6e6ddd8f943a182c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf7910db6f2bb29ec6e6ddd8f943a182c">&#9670;&nbsp;</a></span>wiced_bt_get_largest_stack_heap_buffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t wiced_bt_get_largest_stack_heap_buffer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>To get the size of the largest buffer available in the stack heap. </p>
<dl class="section return"><dt>Returns</dt><dd>the size of the largest buffer available in the stack heap </dd></dl>

</div>
</div>
<a id="ga652a40fcdb27f8fea2d125e82aef9750"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga652a40fcdb27f8fea2d125e82aef9750">&#9670;&nbsp;</a></span>wiced_bt_free_buffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_free_buffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>p_buf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Frees a buffer back to the pool or heap it came from. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_buf</td><td>: pointer to the start of the (pool/heap) buffer to be freed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a id="ga5d688277844f22111723e3339e725d8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d688277844f22111723e3339e725d8a">&#9670;&nbsp;</a></span>wiced_bt_get_buffer_size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t wiced_bt_get_buffer_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>p_buf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the buffer size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_buf</td><td>: pointer to the start of the buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the buffer size </dd></dl>

</div>
</div>
<a id="ga62e721c9f6a3f49dd10e5633a6a280ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga62e721c9f6a3f49dd10e5633a6a280ad">&#9670;&nbsp;</a></span>wiced_bt_init_q()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_init_q </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__lock__t.html">wiced_bt_lock_t</a> *&#160;</td>
          <td class="paramname"><em>p_lock</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Called by an application to initialize a AIROC buffer queue. </p>
<p>Pointers to lock and unlock functions may be NULL if application has handled preemption outside of the queue management code.</p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga3142e3e24bbbf661867d9abd49bf94cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3142e3e24bbbf661867d9abd49bf94cd">&#9670;&nbsp;</a></span>wiced_bt_enqueue()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_enqueue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>p_buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enqueue a buffer at the tail of the queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_q</td><td>: pointer to a queue. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_buf</td><td>: address of the buffer to enqueue</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga3a76bfa31cc060df2c279049036c71b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3a76bfa31cc060df2c279049036c71b2">&#9670;&nbsp;</a></span>wiced_bt_enqueue_head()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_enqueue_head </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>p_buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enqueue a buffer at the head of the queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_q</td><td>: pointer to a queue. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_buf</td><td>: address of the buffer to enqueue</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga1b0787e7f01a5eabf0fda49461d4a0fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1b0787e7f01a5eabf0fda49461d4a0fa">&#9670;&nbsp;</a></span>wiced_bt_dequeue()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a>* wiced_bt_dequeue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dequeues a buffer from the head of a queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_q</td><td>: pointer to a queue.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if queue is empty, else buffer </dd></dl>

</div>
</div>
<a id="gabf9a622ef54fe5731cec0a055923c96f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabf9a622ef54fe5731cec0a055923c96f">&#9670;&nbsp;</a></span>wiced_bt_remove_from_queue()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a>* wiced_bt_remove_from_queue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>p_buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dequeue a buffer from the middle of the queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_q</td><td>: pointer to a queue. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_buf</td><td>: address of the buffer to dequeue</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if queue is empty, else buffer </dd></dl>

</div>
</div>
<a id="ga3d0f730da71f5eefc2ffb8c7047f02f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3d0f730da71f5eefc2ffb8c7047f02f9">&#9670;&nbsp;</a></span>wiced_bt_getfirst()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a>* wiced_bt_getfirst </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a pointer to the first buffer in a queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_q</td><td>: pointer to a queue.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if queue is empty, else buffer address </dd></dl>

</div>
</div>
<a id="ga0250fcacf935ca7fb2f0c802bc498316"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0250fcacf935ca7fb2f0c802bc498316">&#9670;&nbsp;</a></span>wiced_bt_getlast()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a>* wiced_bt_getlast </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a pointer to the last buffer in a queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_q</td><td>: pointer to a queue.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if queue is empty, else buffer address </dd></dl>

</div>
</div>
<a id="ga88ac7077880864d79dbc134e460a814c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga88ac7077880864d79dbc134e460a814c">&#9670;&nbsp;</a></span>wiced_bt_getnext()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a>* wiced_bt_getnext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>p_buf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a pointer to the next buffer in a queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_buf</td><td>: pointer to the buffer to find the next one from.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if no more buffers in the queue, else next buffer address </dd></dl>

</div>
</div>
<a id="ga3a53857937701bb4c7c1128ed3de8f8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3a53857937701bb4c7c1128ed3de8f8a">&#9670;&nbsp;</a></span>wiced_bt_queue_is_empty()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t wiced_bt_queue_is_empty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check the status of a queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_q</td><td>: pointer to a queue.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if queue is empty, else FALSE </dd></dl>

</div>
</div>
<a id="ga4490eaf46263868144322240d5553285"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4490eaf46263868144322240d5553285">&#9670;&nbsp;</a></span>wiced_bt_queue_get_count()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t wiced_bt_queue_get_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__buffer__q__t.html">wiced_bt_buffer_q_t</a> *&#160;</td>
          <td class="paramname"><em>p_q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of items in the queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_q</td><td>: pointer to a queue.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of items in the queue </dd></dl>

</div>
</div>
<a id="ga97f9f80721d4e711b6243992a9d1939b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga97f9f80721d4e711b6243992a9d1939b">&#9670;&nbsp;</a></span>wiced_memory_alloc_long_term_mem_block()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a>* wiced_memory_alloc_long_term_mem_block </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>block_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocate long term memory, typically used for control blocks allocated through config, not expected to be freed during the lifetime of the application. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>: size of memory to be allocated </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">block_name</td><td>friendly name of memory block to be allocated.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to the allocated memory </dd></dl>

</div>
</div>
<a id="ga84a646c738099e9e0b4f764c3b6596e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga84a646c738099e9e0b4f764c3b6596e9">&#9670;&nbsp;</a></span>wiced_memory_free_long_term_mem_block()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_memory_free_long_term_mem_block </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga46491871adba51d8026e9fa85acbbaba">wiced_bt_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>p_mem</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free long term memory, used to free memory allocated with <a class="el" href="group__wiced__mem.html#ga97f9f80721d4e711b6243992a9d1939b">wiced_memory_alloc_long_term_mem_block</a>, typically called during application shutdown. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_mem</td><td>: pointer memory to be freed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>

</div>
</div>
<a id="ga781d441cbf87a58a121c92fb9132d9b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga781d441cbf87a58a121c92fb9132d9b1">&#9670;&nbsp;</a></span>wiced_bt_get_heap_statistics()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_get_heap_statistics </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_heap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__heap__statistics__t.html">wiced_bt_heap_statistics_t</a> *&#160;</td>
          <td class="paramname"><em>p_stats</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get heap stats. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_heap</td><td>: heap pointer (output of <a class="el" href="group__wiced__mem.html#gabd087700ddd0362c48b52e9c6f66a059" title="Initializes dynamic memory area.">wiced_bt_create_heap</a>) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">p_stats</td><td>: pointer to receive the heap statistics</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE in case of valid stats returned in p_stats </dd></dl>

</div>
</div>
<a id="gadab993022a065bf698a2586ed8d6da25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadab993022a065bf698a2586ed8d6da25">&#9670;&nbsp;</a></span>wiced_bt_get_heap_statistics_with_index()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_get_heap_statistics_with_index </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__heap__statistics__t.html">wiced_bt_heap_statistics_t</a> *&#160;</td>
          <td class="paramname"><em>p_stats</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get heap stats of heap at index. </p>
<p>Application calls the function in a loop incrementing the index till the function returns WICED_FALSE</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>: index of heap, starts from 0 </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">p_stats</td><td>: pointer to receive the heap statistics</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE in case of valid stats returned in p_stats </dd></dl>

</div>
</div>
<a id="gaf9408276a6611c7479ae21ca81e20ca1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf9408276a6611c7479ae21ca81e20ca1">&#9670;&nbsp;</a></span>wiced_bt_get_pool_statistics()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a> wiced_bt_get_pool_statistics </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__wiced__mem.html#ga8eb99f9920449033af7323ed0eb8f69c">wiced_bt_pool_t</a> *&#160;</td>
          <td class="paramname"><em>p_pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__pool__statistics__t.html">wiced_bt_pool_statistics_t</a> *&#160;</td>
          <td class="paramname"><em>p_stats</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get pool stats. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_pool</td><td>: pool pointer (output of <a class="el" href="group__wiced__mem.html#gaa0382948eb39d8de2496e8cd11ee13ce" title="Creates a buffer pool for application usage.">wiced_bt_create_pool</a>) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">p_stats</td><td>: pointer to receive the pool statistics</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE in case of valid stats returned in p_stats </dd></dl>

</div>
</div>
<a id="ga9a5e60280610d3027effc84ee35654b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9a5e60280610d3027effc84ee35654b6">&#9670;&nbsp;</a></span>wiced_set_exception_callback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_set_exception_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__gentypes.html#ga3485f1bcadb8362abc051922bd195a8d">pf_wiced_exception</a>&#160;</td>
          <td class="paramname"><em>pf_handler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the exception callback for stack, controller, and porting layer exceptions: </p>
<p>Note: <a class="el" href="group__wiced__mem.html#ga9a5e60280610d3027effc84ee35654b6" title="Set the exception callback for stack, controller, and porting layer exceptions:">wiced_set_exception_callback()</a> needs to be defined in porting layer of each platform where pf_handler callback function is also defined.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pf_handler</td><td>: Exception callback function</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth Host Stack Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
